home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume20 / wacco / patch01 next >
Encoding:
Text File  |  1991-05-25  |  6.8 KB  |  234 lines

  1. Newsgroups: comp.sources.misc
  2. From: Parag Patel <parag@hpsdeb.sde.hp.com>
  3. Subject:  v20i017:  wacco - A C++ LL parser generator, Patch01
  4. Message-ID: <1991May23.192031.4110@sparky.IMD.Sterling.COM>
  5. Date: Thu, 23 May 1991 19:20:31 GMT
  6. Approved: kent@sparky.imd.sterling.com
  7. X-Md4-Signature: da73dad641bfead8d8434d405465309a
  8.  
  9. Submitted-by: Parag Patel <parag@hpsdeb.sde.hp.com>
  10. Posting-number: Volume 20, Issue 17
  11. Archive-name: wacco/patch01
  12. Patch-To: wacco: Volume 19, Issue 88-93
  13.  
  14. This is the first bug fix to wacco.  There was a bug in gen.C fixed 
  15. where the string "(null)" was generated on Sparc because I was passing 
  16. NULL to printf().  Some typos have been fixed in the wacco.doc example 
  17. but NOT in wacco.doc.{iw,ps} To apply the patch, unshar this file and ..
  18.  
  19.     patch < patch-1.1-1.2
  20.  
  21.    -- Parag
  22.  
  23. ---- Cut Here and feed the following to sh ----
  24. #!/bin/sh
  25. # This is a shell archive (produced by shar 3.49)
  26. # To extract the files from this archive, save it to a file, remove
  27. # everything above the "!/bin/sh" line above, and type "sh file_name".
  28. #
  29. # made 05/23/1991 17:42 UTC by parag@hpsdeb
  30. # Source directory /users/parag/tools/wacco/VERSIONS
  31. #
  32. # existing files will NOT be overwritten unless -c is specified
  33. #
  34. # This shar contains:
  35. # length  mode       name
  36. # ------ ---------- ------------------------------------------
  37. #   4768 -rw-r--r-- patch-1.1-1.2
  38. #
  39. # ============= patch-1.1-1.2 ==============
  40. if test -f 'patch-1.1-1.2' -a X"$1" != X"-c"; then
  41.     echo 'x - skipping patch-1.1-1.2 (File already exists)'
  42. else
  43. sed 's/^X//' << 'SHAR_EOF' > 'patch-1.1-1.2' &&
  44. *** tmp/README    Fri May 17 15:29:52 1991
  45. --- README    Mon May 20 19:38:39 1991
  46. ***************
  47. *** 1,4
  48. ! $Header: README,v 1.7 91/05/17 16:29:53 hmgr Exp $
  49. X  
  50. X  Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  51. X  You can do what you wish with this as long as
  52. X
  53. --- 1,4 -----
  54. ! $Header: README,v 1.10 91/05/20 20:38:40 hmgr Exp $
  55. X  
  56. X  Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  57. X  You can do what you wish with this as long as
  58. ***************
  59. *** 9,15
  60. X  software.  It is completely unsupported.  You're on your own.
  61. X  
  62. X  
  63. ! This is version 1.1 of Wacco, basically an LL(1) parser generator.
  64. X  Why Another Compiler COmpiler?  Why not?!?
  65. X  
  66. X  Wacco generates recursive-descent C++ code from an input file.  The
  67. X
  68. --- 9,15 -----
  69. X  software.  It is completely unsupported.  You're on your own.
  70. X  
  71. X  
  72. ! This is Wacco, which is basically an LL(1) parser generator.
  73. X  Why Another Compiler COmpiler?  Why not?!?
  74. X  
  75. X  Wacco generates recursive-descent C++ code from an input file.  The
  76. ***************
  77. *** 58,60
  78. X  
  79. X  
  80. X      -- Parag Patel <parag@sde.hp.com>
  81. X
  82. --- 58,77 -----
  83. X  
  84. X  
  85. X      -- Parag Patel <parag@sde.hp.com>
  86. + --------------------REVISION-INFO----------------------
  87. + 1.0    released on HP INTERX Contrib Tape
  88. + 1.1    first version released to comp.sources.misc
  89. +     files modified: Makefile README defs.h table.h version.C
  90. +     ported to Sparc, added -Dstuff in Makefile
  91. +     fixed problem with macro names in table.h
  92. + 1.2    first bug-fix release
  93. +     files modified: gen.C wacco.doc
  94. +     bug in gen.C fixed where the string "(null)" was generated on Sparc
  95. +         because I was passing NULL to printf()
  96. +     some typos fixed in wacco.doc example but NOT in wacco.doc.{iw,ps}
  97. *** tmp/gen.C    Fri Feb 22 15:08:25 1991
  98. --- gen.C    Mon May 20 12:18:31 1991
  99. ***************
  100. *** 1,5
  101. X  // Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  102. ! static const char rcs_id[] = "$Header: gen.C,v 1.29 91/02/22 16:08:02 hmgr Exp $";
  103. X  
  104. X  #include "defs.h"
  105. X  #include "toks.h"
  106. X
  107. --- 1,5 -----
  108. X  // Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  109. ! static const char rcs_id[] = "$Header: gen.C,v 1.30 91/05/20 13:18:31 hmgr Exp $";
  110. X  
  111. X  #include "defs.h"
  112. X  #include "toks.h"
  113. ***************
  114. *** 115,121
  115. X          return FALSE;
  116. X  }
  117. X  
  118. ! static const char *mktype(symbol *sym, char *pre = "", char *post = NULL)
  119. X  {
  120. X      if (!dotype(sym))
  121. X      return "";
  122. X
  123. --- 115,121 -----
  124. X          return FALSE;
  125. X  }
  126. X  
  127. ! static const char *mktype(symbol *sym, char *pre = "", char *post = "")
  128. X  {
  129. X      if (!dotype(sym))
  130. X      return "";
  131. ***************
  132. *** 136,142
  133. X      return strbldf("%s%s%s", pre, name, post);
  134. X  }
  135. X  
  136. ! static const char *mkvoidtype(symbol *sym, char *pre = "", char *post = NULL)
  137. X  {
  138. X      const char *type = mktype(sym, pre, post);
  139. X      if (*type == '\0')
  140. X
  141. --- 136,142 -----
  142. X      return strbldf("%s%s%s", pre, name, post);
  143. X  }
  144. X  
  145. ! static const char *mkvoidtype(symbol *sym, char *pre = "", char *post = "")
  146. X  {
  147. X      const char *type = mktype(sym, pre, post);
  148. X      if (*type == '\0')
  149. *** tmp/version.C    Fri May 17 15:30:01 1991
  150. --- version.C    Mon May 20 12:18:33 1991
  151. ***************
  152. *** 1,3
  153. X  // Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  154. X  
  155. ! static char *const whatid = "@(#)wacco 1.1 (17 May 1991)";
  156. X
  157. --- 1,3 -----
  158. X  // Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  159. X  
  160. ! static char *const whatid = "@(#)wacco 1.2 (20 May 1991)";
  161. *** tmp/wacco.doc    Fri Feb 22 15:04:39 1991
  162. --- wacco.doc    Mon May 20 19:28:08 1991
  163. ***************
  164. *** 1,5
  165. X  Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  166. ! << $Header: wacco.doc,v 1.25 91/02/22 16:04:23 hmgr Exp $ >>
  167. X  
  168. X  << Please see the wacco(1) man page for details on its usage. >>
  169. X  << Only the grammar format is described here.                 >>
  170. X
  171. --- 1,5 -----
  172. X  Copyright (c) 1991 by Parag Patel.  All Rights Reserved.
  173. ! << $Header: wacco.doc,v 1.27 91/05/20 20:28:05 hmgr Exp $ >>
  174. X  
  175. X  << Please see the wacco(1) man page for details on its usage. >>
  176. X  << Only the grammar format is described here.                 >>
  177. ***************
  178. *** 420,426
  179. X  
  180. X  
  181. X  
  182. ! ================= E X A M P L E    G R A M M E R ==================
  183. X  
  184. X  // This is the usual required calculator sample.  It can still use
  185. X  // a LOT of work, but it illustrates the basics.  Note that the
  186. X
  187. --- 420,426 -----
  188. X  
  189. X  
  190. X  
  191. ! ================= E X A M P L E    G R A M M A R ==================
  192. X  
  193. X  // This is the usual required calculator sample.  It can still use
  194. X  // a LOT of work, but it illustrates the basics.  Note that the
  195. ***************
  196. *** 487,493
  197. X  
  198. X  "."        { return (int)EOI; }
  199. X  
  200. ! $DOUBLE        ({D}+)|({D}+\.{D}+)|({D}+[Ee]-?{D}+)|({D}+\.{D}+[Ee]-?{D}+)
  201. X  
  202. X  "#".*$        ;
  203. X  
  204. X
  205. --- 487,493 -----
  206. X  
  207. X  "."        { return (int)EOI; }
  208. X  
  209. ! $DOUBLE        ({D}+)|({D}+\.{D}*)|({D}+[Ee]-?{D}+)|({D}+\.{D}*[Ee]-?{D}+)
  210. X  
  211. X  "#".*$        ;
  212. X  
  213. SHAR_EOF
  214. chmod 0644 patch-1.1-1.2 ||
  215. echo 'restore of patch-1.1-1.2 failed'
  216. Wc_c="`wc -c < 'patch-1.1-1.2'`"
  217. test 4768 -eq "$Wc_c" ||
  218.     echo 'patch-1.1-1.2: original size 4768, current size' "$Wc_c"
  219. fi
  220. exit 0
  221.  
  222. exit 0 # Just in case...
  223. -- 
  224. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  225. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  226. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  227. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  228.